WinEMU - A C16/Plus4 Emulátor

Készítette: Prievara Zsolt

Verzió: 0.46R4

Minimális rendszerkövetelmények:

- Intel Pentium 166MHz processzor vagy gyorsabb (ajánlott: Intel Pentium II 300MHz)
- 16MB memória (ajánlott: 32MB)
- Windows 95/98/NT4+SP4
- DirectX 3.0 vagy jobb
- DirectX kompatibilis VGA kártya

A program hangkárya nélkül is mûködik, de ha hangot is szeretnénk emulálni, akkor DirectX kompatibilis hangkártya is kell.

A WinEMU két programból áll: WinEMUSetup és WinEMU. Az elsõvel lehet az alap paramétereket beállítani. A második program pedig az emulátor. Elsõ futtatáskor érdemes a WinEMUSetup programmal kezdeni. A programok a rendszerleíró adatbázist használják a beállítások tárolásához.

WinEMUSetup
Ezzel a programmal lehet beállítani
- a felbontást (320x200, 320x240, 400x300, 512x384, 640x400, 640x480, 800x600) - (Screen resolution),
- a ModeX támogatás notebook számítógépekhez,
- a hangemulációt (Sound emulation),
- a debuggerben indítást (Debug),
- a program Windows alatti prioritását (Process priority),
- az alapértelmezett szinkronizációt (Default synchronization),
- az alapétrelmezett joystick beállítást (Default joystick),
- log fájlt (Create startup log),
- és a beépített Plus4 ROM-okat (Plus4 ROMs).

A felbontások közül a 320x200-as a leggyorsabb és ez minden gépen mûködik. A 400x300-as a legjobb választás, mert keretet is emulál így a program, de nem minden videókártya ismeri. Az 512x384 végül is csak azért van, mert ha nincs 400x300, akkor általában ez mûködik.

A ModeX azokon a gépeken érdemes bekapcsolni, ahol a program csak fekete képernyõt jelenít meg. Ilyenkor a DirectX verzérlõk nem tudják normálisan lekezelni a grafikus chipset-et, ez esetleg segíthet. Tipikusan notebook gépeknél fordul elõ.

A hangemulációt természetesen csak akkor kapcsoljuk be, ha van hangkártyánk és az DirectX kompatibilis. Ha nincs, akkor kapcsoljuk ki és a program a hanggal kapcsolatos dolgokat kihagyja.

Ha a gép bekapcsolási folyamatát szeretnénk figyelemmel kisérni, akkor használjuk a Start in debugger funkciót.

A Windows alatti prioritás nem igazán fontos, nyugodtan lehet Normal-on hagyni. Nagyobb prioritás esetén más programok futása leállhat!

Az alapértelmezett szinkronizáció csak azért van, hogy ne kelljen mindig programon belül állítgatni.

Az alapértelmezett joystick beállítási lehetõség szintén azért, hogy ezt se kelljen mindig állítgatni.

Engedélyezni vagy letiltani tudod a Plus4 ROM fájlokat (3plus1lo.rom és 3plus1hi.rom).

WinEMU
Ez a tényleges emulátor program. Indítás után inicializálja a DirectX rendszert és hibátlan mûködés esetén feltûnik a C16/Plus4 képernyõje.

A billentyûzet kiosztása:

TAB

Run/Stop gomb

Bal Alt

Commodore gomb

Home

Clear/Home gomb

F6

OUTPUT.BMP mentése

F7

Opciók

F8

Loader menü

Shift F8

Saver menü

F9

Debugger

Shift F9

Quick registers

F11

Soft reset

Shift F11

Hard reset

F12

Kilépés

Opciók
J - Joystick emuláció kiválasztása

S - Szinkronizáció beállítása:

O - Hang ki és bekapcsolása (pesze csak ha van hang emuláció)

Loader
A jobbra és balra billentyûkkel lehet kiválasztani, hogy programot (*.prg), snapshot-ot (*.fre), kazettát (t64) vagy lemezt akarsz betölteni illetve használni. Jelenleg csak az elsõ kettõ van készen, a többi a késõbbi verziókban lesz elkészítve. Az ENTER megnyomására a *.prg vagy a *.fre fájl betöltõdik a memóriába.

Saver
Itt *.prg vagy *.fre fájlokat lehet kimenteni. Meg kell adni a fájl nevét és ha kell (prg) akkor a memória területet is. A kimentett *.fre fájl kompatibilis a Minus4 által kimentett freeze fájlal.

Debugger
A debugger négy részt tartalmaz:
- disassembler (F1)
- memory dump (F2)
- TED regiszterek (F3)
- CPU regiszterek (F4)

Az ESC megnyomásával bármikor folytathatjuk az emulációt.

Quick registers

Ha bekapcsolod, akkor minden frame végén levõ regiszer értékeket jeleníti meg a program.

Disassembler
A disassembler az aktuális PC (Program Coutner) regiszter értékétõl visszafordítja a memória tartalmát. A kurzor fel és le gombokkal lehet utasításonként mozogni. A PageUp és PageDown gombokkal pedig lapozni lehet.

További billentyûk:

F2 - Memory Dump
F3 - TED regiszterek
F4 - CPU regiszterek
F5 - ugrás a megadott címre (a PC regisztert NEM változtatja meg!)
F6 - BreakPoint beállítása
F7 - JSR meghívása (step over) vagy normál végrehajtás
F8 - normál végrehajtás (step in)
B - BreakPoint ki és bekapcsolása
Shift F8 - gyors végrehajtás (hosszú ciklusokhoz)
TAB - ugrás a következõ részhez (Memory Dump)

Memory Dump
Ebben a részben a memória tartalmát hexadecimális és karakteres formában jeleníti meg a program. Mozás a fel, le, PageUp, PageDown billentyûkkel. A megjelenítés mindig a PC tartalmától kezdõdik. Az L billentyûvel le lehet zárni az aktuális címet, így késõbb is innen fogja kezdeni a program a megjelenítést. A T billentyû megnyomásával a TED regiszterekhez lehet ugrani. A TAB billenryûvel pedig a következõ (TED regiszterek) lapra.

További billentyûk:

F1 - Disassembler
F3 - TED regiszterek
F4 - CPU regiszterek

TED regiszterek
Ezen a lapon a TED regisztereit láthatjuk immár emészthetõbb formában. A TAB billentyû megnyomásával mehetünk a következõ (CPU regiszterek) lapra.

További billentyûk:

F1 - Disassembler
F2 - Memory Dump
F4 - CPU regiszterek

CPU regiszterek
Itt egyenlõre csak a CPU regisztereket láthatjuk. Ezeket itt módosítani is lehet. Ha például más pontról szeretnénk a programot futtatni tovább, akkor egyszerûen a PC regisztert kell átírni.

És végül....
Szeretnék köszönetet mondani Biczó Tibornak, Mike Dailly-nek és Cseh Róbertnek a sok technikai segítségért. És továbbá akiket szintén köszönet illet:
Bolyóczki Zsombor,
Nagy Tamás,
Stephan Süberkrüb,
Ben Wise,
Gyukity Péter,
Linus Åkerlund,
Andrzej Pawlowski,
és mindenkit, aki elmondta tapasztalatait és ötletekkel látott el.

Tehát ha tetszik a WinEMU vagy ha találsz CPU bug-ot vagy van valami ötledet, akkor nyugodtan írj a következõ címekre:

zsolt@emuunlim.com

vagy

zsolt@szentes.hu